<template>
    <div >
        <el-dialog
            title="押金"
            :visible.sync="dialogVisible"
            width="1000px"
             :close-on-click-modal="false"
        >
            <div id="printDepositsTemplate">
                <div>
                    <el-row style="text-align: center;font-size: 30px">
                       <span>福田区政府物业管理中心数据</span>
                    </el-row>
                    <el-row style="margin-top: 40px">
                        <el-col :span="12" >
                            收费日期:{{form.collectionDate  }}
                        </el-col>
                        <el-col :span="12" style="text-align: right">
                            票据号：{{billNumber}}
                        </el-col>
                    </el-row>
                </div>
                <div style="border: 1px solid #bfbfbf;margin-top: 20px" >
                    <el-row class="fox">
                        <el-col :span="8">今收到</el-col>
                        <el-col :span="14" style="text-align: left">{{construction.customerName}}</el-col>
<!--                        <el-col :span="14" style="text-align: left">深圳中科保泰科技有限公司</el-col>-->
                    </el-row>
                    <el-row class="fox">
                        <el-col :span="8" >交来</el-col>
                        <el-col :span="14" style="text-align: left">押金</el-col>
                    </el-row>
                    <el-row class="fox">
                        <el-col :span="8" >金额（大写）</el-col>
                        <el-col :span="14" style="text-align: left">{{form.collectionAmount|toChies}}</el-col>
                    </el-row>
                    <el-row class="fox">
                        <el-col :span="8" >收款单位盖章</el-col>
                        <el-col :span="12" style="text-align: left">[<span style="width: 20px;display: inline-block">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span>   ] 现金<span style="width: 20px;display: inline-block"></span>      [&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="width: 20px;display: inline-block"></span>  ] 转账<span style="width: 20px;display: inline-block"></span>      ￥{{form.collectionAmount}}	</el-col>
                    </el-row>
                </div>
                <div style="margin-top: 20px">
                    <el-row>
                        <el-col :span="10">
                            此单须加盖本单位财务收费章后生效！
                        </el-col>
                        <el-col :span="6">
                            收费员：{{form.collectionName  }}
                        </el-col>
                        <el-col :span="8" style="text-align: right">
                            开票人：{{user.realName }}
                        </el-col>
                    </el-row>
                    <el-row style="text-align: right;padding-left: 100px">
                        <el-col :span="22">
                            打印日期：
                        </el-col>
                    </el-row>
                </div>
            </div>
            <div style="text-align: right;padding-top: 20px" >
                <el-button type="primary" size="small" @click="print">打印</el-button>
                <el-button type="primary" size="small" @click="dialogVisible=false">关闭</el-button>
            </div>
        </el-dialog>
    </div>
</template>

<script>
    import {getRentContractId} from '../../../api/finance-collection-actual'
    import {addObj,getFinanceBillFlowByBillNumber} from '../../../api/finance-bill-flow'
    export default {
        name: "deposits-data",
        data(){
            return{
                dialogVisible:false,
                construction:{},//用于接收合同单位信息
                form:{},
                billNumber:'',
                user:''
            }
        },
        filters:{
            toChies: function(amount) { //形参
                // 汉字的数字
                const cnNums = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
                // 基本单位
                const cnIntRadice = ["", "拾", "佰", "仟"];
                // 对应整数部分扩展单位
                const cnIntUnits = ["", "万", "亿", "兆"];
                // 对应小数部分单位
                const cnDecUnits = ["角", "分"];
                // 整数金额时后面跟的字符
                const cnInteger = "整";
                // 整型完以后的单位
                const cnIntLast = "元";
                // 最大处理的数字
                const maxNum = 9999999999999999.99;
                // 金额整数部分
                let integerNum;
                // 金额小数部分
                let decimalNum;
                // 输出的中文金额字符串
                let chineseStr = "";
                // 分离金额后用的数组，预定义
                let parts;
                if (amount === "") {
                    return "";
                }
                amount = parseFloat(amount);
                if (amount >= maxNum) {
                    // 超出最大处理数字
                    return "";
                }
                if (amount === 0) {
                    chineseStr = cnNums[0] + cnIntLast + cnInteger;
                    return chineseStr;
                }
                // 转换为字符串
                amount = amount.toString();
                if (amount.indexOf(".") === -1) {
                    integerNum = amount;

                    decimalNum = "";
                } else {
                    parts = amount.split(".");
                    integerNum = parts[0];
                    decimalNum = parts[1].substr(0, 4);
                }
                // 获取整型部分转换
                if (parseInt(integerNum, 10) > 0) {
                    let zeroCount = 0;
                    const IntLen = integerNum.length;
                    for (let i = 0; i < IntLen; i++) {
                        const n = integerNum.substr(i, 1);
                        const p = IntLen - i - 1;
                        const q = p / 4;
                        const m = p % 4;
                        if (n === "0") {
                            zeroCount++;
                        } else {
                            if (zeroCount > 0) {
                                chineseStr += cnNums[0];
                            }
                            // 归零
                            zeroCount = 0;
                            //alert(cnNums[parseInt(n)])
                            chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
                        }
                        if (m === 0 && zeroCount < 4) {
                            chineseStr += cnIntUnits[q];
                        }
                    }
                    chineseStr += cnIntLast;
                }
                // 小数部分
                if (decimalNum !== "") {
                    const decLen = decimalNum.length;
                    for (let i = 0; i < decLen; i++) {
                        const n = decimalNum.substr(i, 1);
                        if (n !== "0") {
                            chineseStr += cnNums[Number(n)] + cnDecUnits[i];
                        }
                    }
                }
                if (chineseStr === "") {
                    chineseStr += cnNums[0] + cnIntLast + cnInteger;
                } else if (decimalNum === "") {
                    chineseStr += cnInteger;
                }
                return chineseStr;
            }
        },
        methods:{
            show(item){
                if(item){
                    this.user=JSON.parse(JSON.parse(localStorage.getItem('dbl-user')).content)
                    getRentContractId(item.rentContractId).then(res=>{//查合同信息
                        this.construction=res.data.data
                        this.form=item
                        this.dialogVisible=true
                    })
                    let billNumber='YJ'+this.getDate()
                    getFinanceBillFlowByBillNumber({billNumber:billNumber}).then(res=>{
                        this.billNumber=res.data.msg
                    })

                }
            },
            getDate(){
                var date=new Date()
                return date.getFullYear()+((date.getMonth()+1)>=10?(date.getMonth()+1):'0'+(date.getMonth()+1))+(date.getDate()<10?'0'+date.getDate():date.getDate())
            },
            getDateTime(){
                var date=new Date()
                return date.getFullYear()+((date.getMonth()+1)>=10?(date.getMonth()+1):'0'+(date.getMonth()+1))+(date.getDate()<10?'0'+date.getDate():date.getDate())
                    +(date.getHours()<10?'0'+date.getHours():date.getDate())+(date.getMinutes()<10?'0'+date.getMinutes():date.getMinutes())+(date.getSeconds()<10?'0'+date.getSeconds():date.getSeconds())
            },
            print(){
                addObj(Object.assign(this.form,{billNumber:this.billNumber})).then(res=>{
                    this.suc('押金票据打印成功！')
                    this.dowload()
                    this.rest()
                })
            },
            dowload(){
                this.ExportSavePdf('printDepositsTemplate',this.getDateTime())
            },
            rest(){
                this.dialogVisible=false
                this.form={}
                this.billNumber=''
                this.user=''
            },
        }
    }
</script>

<style lang="scss" scoped>
    .fox{
        text-align: center;padding-top: 15px;padding-bottom: 20px
    }
</style>
